With the expo of the number of its users the Internet experiences a transition from the period of the development of its infrastructure to the period of wide use of its infrastructure as a communication tool for all computer users.
The conventional Internet applications include the use of electronic mail to connect computer users throughout the world by transferring the textual information, and the use of the world wide web (WWW) servers to transfer the graphical information to a client computer.
In the co-pending U.S. patent application entitled xe2x80x9cDynamic Bandwidth Selection for Efficient Transmission of Multimedia Streams in a Computer Networkxe2x80x9d disclosed by Hemanth Srinivas Ravi, et al., Vxtreme U.S. application Ser. No. 08/818,127 that is incorporated herein in its entirety, the improved techniques for reliably providing a multimedia stream such as a video and audio stream, together with annotations such as textual and graphical information in an integrated seamless package to a client computer was disclosed.
However, if a large number of client computers would like to get access to a single particular multimedia server having a particular multimedia content, the problem of bottleneck would arise if the single multimedia server does not have enough speed to service all client computers.
Thus, what is needed is the improved technique that would allow (1) elimination of the bottleneck problem, without significantly increasing the cost and speed of a multimedia server with the desirable multimedia content, by introducing the coordination between several multimedia servers; (2) to provide the fault tolerant system; (3) to reduce the network traffic; and (4) to allow seamless integration of the multimedia servers from different organizations.
The present invention is unique because it provides for a method and an apparatus of using at least one metaserver at the same level of management to introduce the coordination between a plurality of uncoordinated multimedia servers. At least one metaserver is configured to manage the connections between a client computer and a plurality of multimedia servers with the same or different multimedia content in order to eliminate the bottleneck problem, provide the fault tolerance system and reduce the network congestion.
One aspect of the present invention is directed to a method for assigning a plurality of multimedia servers configured to provide data streams for a plurality of client computers. Each client computer is coupled to one or more metaservers at the same level of management and to each multimedia server via a communication network. Each client computer includes a video and audio display device. Each metaserver memory includes a metaserver database that includes information about the video data streams stored in all multimedia servers.
In one embodiment, the system includes one metaserver.
In this embodiment, after receiving a request for a desirable video data stream from one of the client computers, the metaserver selects one of the selection algorithms to minimize the cost of connection between the client computer and the potential multimedia server. Subsequently, the metaserver applies the chosen selection algorithm in order to select a list of eligible multimedia servers from its metaserver database, and communicates the list of eligible multimedia servers to the client computer.
In one embodiment, the chosen selection algorithm includes a set of parameters including a desirable multimedia content, current load, geographic location, and a network distance from the available multimedia server to the client computer.
In one embodiment, the multimedia server can also download an audio stream complementary to the desirable video stream.
In another embodiment, the metaserver can assign to the client computer a multimedia stream with live content or on-demand content. The metaserver can provide the client computer with the status information about the status of the desirable multimedia content, including the waiting time information for the multimedia server having live multimedia content (the time required for the live multimedia transmission) or for the on-demand multimedia server (for example, the time required to change the tape with the requested multimedia content).
Yet, in one more embodiment, the invention discloses a hierarchical metaserver system with two or more levels of management. In one embodiment, a two-level metaserver system includes a higher level metaserver (a Global one) managing a lower level metaserver (a Local one). In this embodiment, the Global metaserver sends the list of available Global multimedia servers having the desirable Global content and the identity of the Local metaserver to the client computer, and the Local metaserver sends to the client computer the list of available Local multimedia servers having a desirable Local content that is matched to the Global content.
Another aspect of the present invention is directed to a method for managing a client computer coupled to a plurality of multimedia servers and coupled to a metaserver. The method includes the following steps: (1) sending a request by a client computer for a desirable multimedia stream to the metaserver; (2) retrieving a list of eligible multimedia servers from the metaserver database; and (3) connecting the client computer to the first available server from the list of eligible multimedia servers.
One more aspect of the present invention is directed to a software apparatus for managing a metaserver with a plurality of multimedia servers and with a plurality of client computers. In one embodiment, the apparatus comprises: (1) a receiver configured to receive the client""s request for a desirable multimedia stream; (2) a monitor configured to continuously monitor the status of each multimedia server and the status of the network itself; (3) a selector configured to select at least one eligible multimedia server from the metaserver database using the selection algorithm; and (4) a transmitter configured to transmit the name of at least one eligible multimedia server with the requested multimedia content to the client computer.
Yet, another aspect of the present invention is directed to a computer-readable storage medium useful in association with a metaserver. The computer-readable storage medium includes computer-readable code instructions configured to cause the metaserver to execute the steps of: (1) receiving a request for a video data stream from one of the client computers; (2) monitoring the system; (3) selecting at least one eligible multimedia server from the metaserver database using a selection algorithm; and (4) communicating the name of at least one eligible multimedia server to the client computer.